რმაRგ: პირველი შეხვედრა

რაოდენობრივ მონაცემთა ანალიზი R-გარემოში

დავით სიჭინავა
9 მარტი, 2018

პირველი შეხვედრა

დღევანდელი შეხვედრის გეგმა

  • კურსის გაცნობა და ლოგისტიკა
    • საჭირო კომპიუტერული პროგრამები
    • შეფასება, დავალებები, ლაბორატორიული სამუშაო და ა.შ.
  • R გარემო

რას გავიგებ ამ კურსის ფარგლებში?

  • ვნახავთ, თუ როგორაა შესაძლებელი მონაცემთა ეფექტურად მოგროვება და გაანალიზება;
  • შევისწავლით რაოდენობრივ მონაცემთა სტატისტიკური ანალიზის ძირითად პრინციპებს;
  • გავერკვევით R-გარემოში მუშაობის მთავარ საკითხებში

რა დამჭირდება ამ კურსისთვის?

  • R;
  • R-studio;
  • ტექსტური რედაქტორი - გემოვნებით;
  • დაწვრილებით: ლაბორატორიის მსვლელობისას

კურსის ვებსაიტი:

კურსის სტრუქტურა:

Drawing ლექცია

კურსის სტრუქტურა:

Drawing ლექცია

Drawing ლაბორატორია

  • პრაქტიკული სავარჯიშოები R-ის გამოყენებით
  • დაეთმობა შეხვედრების მეორე საათი

კურსის სტრუქტურა:

Drawing ლექცია

Drawing ლაბორატორია

კურსის სტრუქტურა:

Drawing ლიტერატურა

კურსის სტრუქტურა:

Drawing ლექცია

Drawing ლაბორატორია

Drawing ლიტერატურა

Drawing დავალებები

  • ლაბორატორიისას დაგირიგდებათ დავალებები, რომელიც მომდევნო კვირის მანძილზე უნდა ატვირთოთ დროპბოქსზე

შეფასება:

Drawing

შეფასების კომპონენტები:

კომპონენტი ქულა
დასწრება 5
ლაბორატორიული დავალება 30
შუალედური გამოცდა 25
დასკვნითი გამოცდა 40

დავიწყოთ?

Drawing

R-გარემოს გაცნობა

  • შესავალი R-გარემოში
  • R-ის მომხმარებლის გრაფიკული გარემო: R-Studio
  • R-ის მომხმარებლის გრაფიკული გარემოს ძირითადი ელემენტები
  • R-მარკირების დოკუმენტის შექმნა
  • ,,წიგნიერი პროგრამირება’’ და პროექტების ორგანიზების კარგი პრაქტიკა

რა არის R?:

Drawing

რა არის R?:

  • დაპროგრამების ენა

რა არის R?:

  • (ერთ-ერთი ყველაზე ხშირად გამოყენებადი) დაპროგრამების ენა

Drawing

რა არის R?:

  • დაპროგრამების ენა
  • ვრცელდება უფასოდ
    • GPL2-GPL3 ლიცენზია
  • ხელმისაწვდომია ყველა პოპულარული საოპერაციო პლატფორმისთვის

რა არის R?:

Drawing

რა არის R-Studio?:

R-ის ნაკლად კარგა ხანი ითვლებოდა მოსახერხებელი სამომხმარებლო გარემოს არარსებობა

R-Studio ამ პრობლემის მოსაგვარებლად არსებობს

რა არის R-Studio?:

Drawing

დახმარება:

### ზოგადი დახმარება:
help.start()

დახმარება:

### დახმარება რომელიმე ფუნქციასთან დაკავშირებით
help(lm) ## ან
?lm

### მაგალითის ჩვენება
example(lm)


### ფუნქციის / ბიბლიოთეკის ვინიეტის ჩვენება
vignette("ggplot2-specs")

სამუშაო დირექტორია:

getwd()

სამუშაო დირექტორია:

setwd("D:/Dropbox/R/My awesome research")

ან

setwd("D:\\Dropbox\\R\\My awesome research")

ან

setwd('D:\\Dropbox\\R\\My awesome research')

ბიბლიოთეკები:

install.packages("ბიბლიოთეკის სახელწოდება")
library("ბიბლიოთეკის სახელწოდება")

კვლევის დოკუმენტირება და განმეორებადობა (რეპლიკაცია)

Drawing

წყარო: Baker, M. (2016): Is there a reproducibility crisis? Nature. Vol. 533.

კვლევის დოკუმენტირება და განმეორებადობა (რეპლიკაცია)

მაგრამ…

The lexicon of reproducibility to date has been multifarious and ill-defined. The causes of and remedies for what is called poor reproducibility, in any scientific field, require a clear specification of the kind of reproducibility being discussed (methods, results, or inferences), a proper understanding of how it affects knowledge claims, scientific investigation of its causes, and an improved understanding of the limitations of statistical significance as a criterion for claims

Goodman, S., Fanelli, D., Ioannidis, J. (2016): What does research reproducibility mean?

კვლევის დოკუმენტირება და განმეორებადობა (რეპლიკაცია)

  • სტანდარტები (King, 1995): > The replication standard holds that sufficient information exists with which to understand, evaluate, and build upon a prior work if a third party can replicate the results without any additional information from the author
  • მონაცემთა საცავები (Dataverse @ Harvard, Figshare)
  • ვერსიათა კონტროლი (Git, Github, Bitbucket)

წყარო: Marwick, B. (2014): Reproducible Research: A primer for the social sciences

სკრიპტები:

source("MyAwesomeRegression.R")

წიგნიერი პროგრამირება:

Drawing

წიგნიერი პროგრამირება:

Documentation must be regarded as an integral part of the process of design and coding. A good programming language will encourage and assist the programmer to write clear, self-documenting code, and even perhaps to develop and display a pleasant style of writing.

Hoare, T. (1973): Hints on Programming Language Design. [in:] Knuth, D. (1983): Literate Programming. The Computer Journal

R-ბლოკნოტი:

Drawing

R-ბლოკნოტი: მარკირება

Drawing

პროექტის ორგანიზების საუკეთესო პრაქტიკა:

  • გამჭვრივალეობა
  • მხარდაჭერა
  • მოდულების ფორმით ორგანიზება
  • პორტატულობა

პროექტის ორგანიზების საუკეთესო პრაქტიკა:

  1. პროგრამის მოკლე აღწერა
  2. ყველა საჭირო ბიბლიოთეკის ჩატვირთვა
  3. აბსოლუტური მისამართის თავიდანვე მითითება, ხოლო შემდეგ - ფარდობით დირექტორიებში მუშაობა
  4. კოდის სექციებად მოწესრიგება
  5. ფუნქციები
  6. ობიექტთა თანმიმდევრული სახელდება
  7. ფოლდერების და ფაილების ლოგიკური მოწესრიგება

პროექტის ორგანიზების საუკეთესო პრაქტიკა:

Drawing

მონაცემების წაკითხვა ჩაშენებული ფუნქციების მეშვეობით:

### ტაბით გამოყოფილი ცხრილი

1   6   a
2   7   b
3   8   c
4   9   d
5   10  e

### მძიმით გამოყოფილი ცხრილი

v1,v2,v3
1,2,3
4,5,6
7,8,9
a,b,c

მონაცემების წაკითხვა ჩაშენებული ფუნქციების მეშვეობით:

myTable<-read.table("data/myTable.txt")

myTable<-read.table("data/CB_2017_Georgia_public_17.11.17.csv", header = TRUE, sep=",") ### მძიმით გამოყოფილი ცხრილის წაკითხვა

myTable<-read.csv("data/CB_2017_Georgia_public_17.11.17.csv", header=TRUE) ### მძიმით გამოყოფილი ცხრილის წაკითხვა

myTable<-read.table("data/CB_2017_Georgia_public_17.11.17.txt", header = TRUE, sep="\t") ### ტაბით გამოყოფილი ცხრილის წაკითხვა

galton<-read.csv("https://vincentarelbundock.github.io/Rdatasets/csv/HistData/Galton.csv")

მონაცემების წაკითხვა გარე ბიბლიოთეკების მეშვეობით:

install.packages("haven")
library(haven)

მონაცემების წაკითხვა გარე ბიბლიოთეკების მეშვეობით:

### haven ბიბლიოთეკა:

cb2017spss<-read_sav("data/CB_2017_Georgia_public_17.11.17.sav")
cb2017stata<-read_dta("data/CB_2017_Georgia_public_17.11.17.dta")

მონაცემების წაკითხვა გარე ბიბლიოთეკების მეშვეობით:

install.packages("foreign")
library(foreign)

cb2017foreign<-read.spss("data/CB_2017_Georgia_public_17.11.17.sav")

დავალებები:

  • ლაბორატორია (მომდევნო კვირა)
  • ანოტირებული ბიბლიოგრაფია

ანოტირებული ბიბლიოგრაფია:

  • ციტირება + სტატიის მოკლე (150-200-სიტყვიანი) კრიტიკული აღწერა
  • ძირითადი მიგნებები
  • (თუ არსებობს), რას თვლით სტატიის უარყოფით მხარედ
  • ნიმუში იხილეთ შემდეგ ვებსაიტზე (ასევე - ლაბორატორიული დავალების ფაილში):

Drawing